package com.example.shop_2207.net

import android.content.Context
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.CircleCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.example.shop_2207.R

class GlideUtils {
    companion object{
        fun loadImage(context:Context,url:String,imageView:ImageView){
            //参数一：上下文  参数二：图片路径  参数三：图片
            Glide.with(context)
                .load(url)
                .placeholder(ColorDrawable(Color.LTGRAY))//展位图，，当图片还未加载出来时，用这个图片占据位置，可用来提示一会有图片显示出来
                .error(R.drawable.ic_launcher_foreground)//错误图片，当图片网址不正确时，会显示这个图片
                .skipMemoryCache(true)//是否跳过内存缓存   true  跳过  false:不跳过
                .diskCacheStrategy(DiskCacheStrategy.ALL)//设置磁盘缓存策略
                .transform(CenterCrop())//设置图片样式：普通样式，从中心向外延申
                //.thumbnail(0.1f)//缩略图：当图片巨大时，可使用缩略图来加载显示图片
                .into(imageView)
        }
        //加载圆形图片
        fun loadCircleImage(context:Context,url:String,imageView:ImageView){
            //参数一：上下文  参数二：图片路径  参数三：图片
            Glide.with(context)
                .load(url)
                .placeholder(ColorDrawable(Color.LTGRAY))//展位图，，当图片还未加载出来时，用这个图片占据位置，可用来提示一会有图片显示出来
                .error(R.drawable.ic_launcher_foreground)//错误图片，当图片网址不正确时，会显示这个图片
                .skipMemoryCache(true)//是否跳过内存缓存   true  跳过  false:不跳过
                .diskCacheStrategy(DiskCacheStrategy.ALL)//设置磁盘缓存策略
                .transform(CenterCrop(),CircleCrop())//设置图片样式：圆形图片，从中心向外延申
                //.thumbnail(0.1f)//缩略图：当图片巨大时，可使用缩略图来加载显示图片
                .into(imageView)
        }
        //加载圆角图片
        fun loadCornerImage(context:Context,url:String,imageView:ImageView,radius:Int){
            //参数一：上下文  参数二：图片路径  参数三：图片
            Glide.with(context)
                .load(url)
                .placeholder(ColorDrawable(Color.LTGRAY))//展位图，，当图片还未加载出来时，用这个图片占据位置，可用来提示一会有图片显示出来
                .error(R.drawable.ic_launcher_foreground)//错误图片，当图片网址不正确时，会显示这个图片
                .skipMemoryCache(true)//是否跳过内存缓存   true  跳过  false:不跳过
                .diskCacheStrategy(DiskCacheStrategy.ALL)//设置磁盘缓存策略
                .transform(CenterCrop(),RoundedCorners(radius))//设置图片样式：圆角图片，从中心向外延申
                //.thumbnail(0.1f)//缩略图：当图片巨大时，可使用缩略图来加载显示图片
                .into(imageView)
        }
    }
}